#pragma once

#include "FrameOperation.h"

class CJumpOperation : public IFrameOperation
{
public:
    enum class EJumpCondition
    {
        Always,
        IfTrue,
        IfFalse,
        IfEqual,
    };
    
    CJumpOperation()= default;

    CJumpOperation(std::shared_ptr<IFrameOperation> InJumpTo,EJumpCondition InCondition) 
        :JumpTo(InJumpTo)
        ,Condition(InCondition)
    {

    }

    virtual EFrameOperationType GetType() const override
    {
        return EFrameOperationType::Jump;
    }

    std::shared_ptr<IFrameOperation> JumpTo;
    EJumpCondition Condition=EJumpCondition::Always ;
};